/******************************************************************************
 *                AtomWeb: An embedded web server                             *
 *                                                                            *
 * Copyright (c) 2015 Gong Ke                                                 *
 * All rights reserved.                                                       *
 *                                                                            *
 * Redistribution and use in source and binary forms, with or without         *
 * modification, are permitted provided that the following conditions are     *
 * met:                                                                       *
 * 1.Redistributions of source code must retain the above copyright notice,   *
 * this list of conditions and the following disclaimer.                      *
 * 2.Redistributions in binary form must reproduce the above copyright        *
 * notice, this list of conditions and the following disclaimer in the        *
 * documentation and/or other materials provided with the distribution.       *
 * 3.Neither the name of the Gong Ke; nor the names of its contributors may   *
 * be used to endorse or promote products derived from this software without  *
 * specific prior written permission.                                         *
 *                                                                            *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS    *
 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,  *
 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR     *
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR           *
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,      *
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,        *
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR         *
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF     *
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING       *
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS         *
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.               *
 *****************************************************************************/

#include "aw-tools.h"

typedef struct {
	char *type;
	char *suffix;
} AW_MimeInfo;

const AW_MimeInfo
mime_info[] = {
{"application/andrew-inset","ez"},
{"application/annodex","anx"},
{"application/applixware","aw"},
{"application/atom+xml","atom"},
{"application/atomcat+xml","atomcat"},
{"application/atomserv+xml","atomsrv"},
{"application/atomsvc+xml","atomsvc"},
{"application/bbolin","lin"},
{"application/ccxml+xml","ccxml"},
{"application/cdmi-capability","cdmia"},
{"application/cdmi-container","cdmic"},
{"application/cdmi-domain","cdmid"},
{"application/cdmi-object","cdmio"},
{"application/cdmi-queue","cdmiq"},
{"application/cu-seeme","cu"},
{"application/davmount+xml","davmount"},
{"application/dicom","dcm"},
{"application/docbook+xml","dbk"},
{"application/dsptype","tsp"},
{"application/dssc+der","dssc"},
{"application/dssc+xml","xdssc"},
{"application/ecmascript","ecma es"},
{"application/emma+xml","emma"},
{"application/epub+zip","epub"},
{"application/exi","exi"},
{"application/font-tdpfr","pfr"},
{"application/futuresplash","spl"},
{"application/gml+xml","gml"},
{"application/gpx+xml","gpx"},
{"application/gxf","gxf"},
{"application/hta","hta"},
{"application/hyperstudio","stk"},
{"application/inkml+xml","ink inkml"},
{"application/ipfix","ipfix"},
{"application/java-archive","jar"},
{"application/java-serialized-object","ser"},
{"application/java-vm","class"},
{"application/javascript","js"},
{"application/json","json"},
{"application/jsonml+json","jsonml"},
{"application/lost+xml","lostxml"},
{"application/m3g","m3g"},
{"application/mac-binhex40","hqx"},
{"application/mac-compactpro","cpt"},
{"application/mads+xml","mads"},
{"application/marc","mrc"},
{"application/marcxml+xml","mrcx"},
{"application/mathematica","ma mb nb nbp"},
{"application/mathml+xml","mathml"},
{"application/mbox","mbox"},
{"application/mediaservercontrol+xml","mscml"},
{"application/metalink+xml","metalink"},
{"application/metalink4+xml","meta4"},
{"application/mets+xml","mets"},
{"application/mods+xml","mods"},
{"application/mp21","m21 mp21"},
{"application/mp4","mp4s"},
{"application/msaccess","mdb"},
{"application/msword","doc dot"},
{"application/mxf","mxf"},
{"application/octet-stream","bin bpk deploy dist distz dmg dms dump elc iso lha lrf lzh mar pkg so"},
{"application/oda","oda"},
{"application/oebps-package+xml","opf"},
{"application/ogg","ogg ogx"},
{"application/omdoc+xml","omdoc"},
{"application/onenote","one onepkg onetmp onetoc onetoc2"},
{"application/oxps","oxps"},
{"application/patch-ops-error+xml","xer"},
{"application/pdf","pdf"},
{"application/pgp-encrypted","asc pgp"},
{"application/pgp-keys","key"},
{"application/pgp-signature","asc pgp sig"},
{"application/pics-rules","prf"},
{"application/pkcs10","p10"},
{"application/pkcs7-mime","p7c p7m"},
{"application/pkcs7-signature","p7s"},
{"application/pkcs8","p8"},
{"application/pkix-attr-cert","ac"},
{"application/pkix-cert","cer"},
{"application/pkix-crl","crl"},
{"application/pkix-pkipath","pkipath"},
{"application/pkixcmp","pki"},
{"application/pls+xml","pls"},
{"application/postscript","ai eps eps2 eps3 epsf epsi ps"},
{"application/prs.cww","cww"},
{"application/pskc+xml","pskcxml"},
{"application/rar","rar"},
{"application/rdf+xml","rdf"},
{"application/reginfo+xml","rif"},
{"application/relax-ng-compact-syntax","rnc"},
{"application/resource-lists+xml","rl"},
{"application/resource-lists-diff+xml","rld"},
{"application/rls-services+xml","rs"},
{"application/rpki-ghostbusters","gbr"},
{"application/rpki-manifest","mft"},
{"application/rpki-roa","roa"},
{"application/rsd+xml","rsd"},
{"application/rss+xml","rss"},
{"application/rtf","rtf"},
{"application/sbml+xml","sbml"},
{"application/scvp-cv-request","scq"},
{"application/scvp-cv-response","scs"},
{"application/scvp-vp-request","spq"},
{"application/scvp-vp-response","spp"},
{"application/sdp","sdp"},
{"application/set-payment-initiation","setpay"},
{"application/set-registration-initiation","setreg"},
{"application/shf+xml","shf"},
{"application/sla","stl"},
{"application/smil","smi smil"},
{"application/smil+xml","smi smil"},
{"application/sparql-query","rq"},
{"application/sparql-results+xml","srx"},
{"application/srgs","gram"},
{"application/srgs+xml","grxml"},
{"application/sru+xml","sru"},
{"application/ssdl+xml","ssdl"},
{"application/ssml+xml","ssml"},
{"application/tei+xml","tei teicorpus"},
{"application/thraud+xml","tfi"},
{"application/timestamped-data","tsd"},
{"application/vnd.3gpp.pic-bw-large","plb"},
{"application/vnd.3gpp.pic-bw-small","psb"},
{"application/vnd.3gpp.pic-bw-var","pvb"},
{"application/vnd.3gpp2.tcap","tcap"},
{"application/vnd.3m.post-it-notes","pwn"},
{"application/vnd.accpac.simply.aso","aso"},
{"application/vnd.accpac.simply.imp","imp"},
{"application/vnd.acucobol","acu"},
{"application/vnd.acucorp","acutc atc"},
{"application/vnd.adobe.air-application-installer-package+zip","air"},
{"application/vnd.adobe.formscentral.fcdt","fcdt"},
{"application/vnd.adobe.fxp","fxp fxpl"},
{"application/vnd.adobe.xdp+xml","xdp"},
{"application/vnd.adobe.xfdf","xfdf"},
{"application/vnd.ahead.space","ahead"},
{"application/vnd.airzip.filesecure.azf","azf"},
{"application/vnd.airzip.filesecure.azs","azs"},
{"application/vnd.amazon.ebook","azw"},
{"application/vnd.americandynamics.acc","acc"},
{"application/vnd.amiga.ami","ami"},
{"application/vnd.android.package-archive","apk"},
{"application/vnd.anser-web-certificate-issue-initiation","cii"},
{"application/vnd.anser-web-funds-transfer-initiation","fti"},
{"application/vnd.antix.game-component","atx"},
{"application/vnd.apple.installer+xml","mpkg"},
{"application/vnd.apple.mpegurl","m3u8"},
{"application/vnd.arastra.swi","swi"},
{"application/vnd.aristanetworks.swi","swi"},
{"application/vnd.astraea-software.iota","iota"},
{"application/vnd.audiograph","aep"},
{"application/vnd.blueice.multipass","mpm"},
{"application/vnd.bmi","bmi"},
{"application/vnd.businessobjects","rep"},
{"application/vnd.chemdraw+xml","cdxml"},
{"application/vnd.chipnuts.karaoke-mmd","mmd"},
{"application/vnd.cinderella","cdy"},
{"application/vnd.claymore","cla"},
{"application/vnd.cloanto.rp9","rp9"},
{"application/vnd.clonk.c4group","c4d c4f c4g c4p c4u"},
{"application/vnd.cluetrust.cartomobile-config","c11amc"},
{"application/vnd.cluetrust.cartomobile-config-pkg","c11amz"},
{"application/vnd.commonspace","csp"},
{"application/vnd.contact.cmsg","cdbcmsg"},
{"application/vnd.cosmocaller","cmc"},
{"application/vnd.crick.clicker","clkx"},
{"application/vnd.crick.clicker.keyboard","clkk"},
{"application/vnd.crick.clicker.palette","clkp"},
{"application/vnd.crick.clicker.template","clkt"},
{"application/vnd.crick.clicker.wordbank","clkw"},
{"application/vnd.criticaltools.wbs+xml","wbs"},
{"application/vnd.ctc-posml","pml"},
{"application/vnd.cups-ppd","ppd"},
{"application/vnd.curl.car","car"},
{"application/vnd.curl.pcurl","pcurl"},
{"application/vnd.dart","dart"},
{"application/vnd.data-vision.rdz","rdz"},
{"application/vnd.dece.data","uvd uvf uvvd uvvf"},
{"application/vnd.dece.ttml+xml","uvt uvvt"},
{"application/vnd.dece.unspecified","uvvx uvx"},
{"application/vnd.dece.zip","uvvz uvz"},
{"application/vnd.denovo.fcselayout-link","fe_launch"},
{"application/vnd.dna","dna"},
{"application/vnd.dolby.mlp","mlp"},
{"application/vnd.dpgraph","dpg"},
{"application/vnd.dreamfactory","dfac"},
{"application/vnd.ds-keypoint","kpxx"},
{"application/vnd.dvb.ait","ait"},
{"application/vnd.dvb.service","svc"},
{"application/vnd.dynageo","geo"},
{"application/vnd.ecowin.chart","mag"},
{"application/vnd.enliven","nml"},
{"application/vnd.epson.esf","esf"},
{"application/vnd.epson.msf","msf"},
{"application/vnd.epson.quickanime","qam"},
{"application/vnd.epson.salt","slt"},
{"application/vnd.epson.ssf","ssf"},
{"application/vnd.eszigno3+xml","es3 et3"},
{"application/vnd.ezpix-album","ez2"},
{"application/vnd.ezpix-package","ez3"},
{"application/vnd.fdf","fdf"},
{"application/vnd.fdsn.mseed","mseed"},
{"application/vnd.fdsn.seed","dataless seed"},
{"application/vnd.flographit","gph"},
{"application/vnd.fluxtime.clip","ftc"},
{"application/vnd.framemaker","book fm frame maker"},
{"application/vnd.frogans.fnc","fnc"},
{"application/vnd.frogans.ltf","ltf"},
{"application/vnd.fsc.weblaunch","fsc"},
{"application/vnd.fujitsu.oasys","oas"},
{"application/vnd.fujitsu.oasys2","oa2"},
{"application/vnd.fujitsu.oasys3","oa3"},
{"application/vnd.fujitsu.oasysgp","fg5"},
{"application/vnd.fujitsu.oasysprs","bh2"},
{"application/vnd.fujixerox.ddd","ddd"},
{"application/vnd.fujixerox.docuworks","xdw"},
{"application/vnd.fujixerox.docuworks.binder","xbd"},
{"application/vnd.fuzzysheet","fzs"},
{"application/vnd.genomatix.tuxedo","txd"},
{"application/vnd.geogebra.file","ggb"},
{"application/vnd.geogebra.tool","ggt"},
{"application/vnd.geometry-explorer","gex gre"},
{"application/vnd.geonext","gxt"},
{"application/vnd.geoplan","g2w"},
{"application/vnd.geospace","g3w"},
{"application/vnd.gmx","gmx"},
{"application/vnd.google-earth.kml+xml","kml"},
{"application/vnd.google-earth.kmz","kmz"},
{"application/vnd.grafeq","gqf gqs"},
{"application/vnd.groove-account","gac"},
{"application/vnd.groove-help","ghf"},
{"application/vnd.groove-identity-message","gim"},
{"application/vnd.groove-injector","grv"},
{"application/vnd.groove-tool-message","gtm"},
{"application/vnd.groove-tool-template","tpl"},
{"application/vnd.groove-vcard","vcg"},
{"application/vnd.hal+xml","hal"},
{"application/vnd.handheld-entertainment+xml","zmm"},
{"application/vnd.hbci","hbci"},
{"application/vnd.hhe.lesson-player","les"},
{"application/vnd.hp-hpgl","hpgl"},
{"application/vnd.hp-hpid","hpid"},
{"application/vnd.hp-hps","hps"},
{"application/vnd.hp-jlyt","jlt"},
{"application/vnd.hp-pcl","pcl"},
{"application/vnd.hp-pclxl","pclxl"},
{"application/vnd.hydrostatix.sof-data","sfd-hdstx"},
{"application/vnd.hzn-3d-crossword","x3d"},
{"application/vnd.ibm.minipay","mpy"},
{"application/vnd.ibm.modcap","afp list3820 listafp"},
{"application/vnd.ibm.rights-management","irm"},
{"application/vnd.ibm.secure-container","sc"},
{"application/vnd.iccprofile","icc icm"},
{"application/vnd.igloader","igl"},
{"application/vnd.immervision-ivp","ivp"},
{"application/vnd.immervision-ivu","ivu"},
{"application/vnd.insors.igm","igm"},
{"application/vnd.intercon.formnet","xpw xpx"},
{"application/vnd.intergeo","i2g"},
{"application/vnd.intu.qbo","qbo"},
{"application/vnd.intu.qfx","qfx"},
{"application/vnd.ipunplugged.rcprofile","rcprofile"},
{"application/vnd.irepository.package+xml","irp"},
{"application/vnd.is-xpr","xpr"},
{"application/vnd.isac.fcs","fcs"},
{"application/vnd.jam","jam"},
{"application/vnd.jcp.javame.midlet-rms","rms"},
{"application/vnd.jisp","jisp"},
{"application/vnd.joost.joda-archive","joda"},
{"application/vnd.kahootz","ktr ktz"},
{"application/vnd.kde.karbon","karbon"},
{"application/vnd.kde.kchart","chrt"},
{"application/vnd.kde.kformula","kfo"},
{"application/vnd.kde.kivio","flw"},
{"application/vnd.kde.kontour","kon"},
{"application/vnd.kde.kpresenter","kpr kpt"},
{"application/vnd.kde.kspread","ksp"},
{"application/vnd.kde.kword","kwd kwt"},
{"application/vnd.kenameaapp","htke"},
{"application/vnd.kidspiration","kia"},
{"application/vnd.kinar","kne knp"},
{"application/vnd.koan","skd skm skp skt"},
{"application/vnd.kodak-descriptor","sse"},
{"application/vnd.las.las+xml","lasxml"},
{"application/vnd.llamagraphics.life-balance.desktop","lbd"},
{"application/vnd.llamagraphics.life-balance.exchange+xml","lbe"},
{"application/vnd.lotus-1-2-3","123"},
{"application/vnd.lotus-approach","apr"},
{"application/vnd.lotus-freelance","pre"},
{"application/vnd.lotus-notes","nsf"},
{"application/vnd.lotus-organizer","org"},
{"application/vnd.lotus-screencam","scm"},
{"application/vnd.lotus-wordpro","lwp"},
{"application/vnd.macports.portpkg","portpkg"},
{"application/vnd.mcd","mcd"},
{"application/vnd.medcalcdata","mc1"},
{"application/vnd.mediastation.cdkey","cdkey"},
{"application/vnd.mfer","mwf"},
{"application/vnd.mfmp","mfm"},
{"application/vnd.micrografx.flo","flo"},
{"application/vnd.micrografx.igx","igx"},
{"application/vnd.mif","mif"},
{"application/vnd.mobius.daf","daf"},
{"application/vnd.mobius.dis","dis"},
{"application/vnd.mobius.mbk","mbk"},
{"application/vnd.mobius.mqy","mqy"},
{"application/vnd.mobius.msl","msl"},
{"application/vnd.mobius.plc","plc"},
{"application/vnd.mobius.txf","txf"},
{"application/vnd.mophun.application","mpn"},
{"application/vnd.mophun.certificate","mpc"},
{"application/vnd.mozilla.xul+xml","xul"},
{"application/vnd.ms-artgalry","cil"},
{"application/vnd.ms-cab-compressed","cab"},
{"application/vnd.ms-excel","xla xlb xlc xlm xls xlt xlw"},
{"application/vnd.ms-excel.addin.macroEnabled.12","xlam"},
{"application/vnd.ms-excel.addin.macroenabled.12","xlam"},
{"application/vnd.ms-excel.sheet.binary.macroEnabled.12","xlsb"},
{"application/vnd.ms-excel.sheet.binary.macroenabled.12","xlsb"},
{"application/vnd.ms-excel.sheet.macroEnabled.12","xlsm"},
{"application/vnd.ms-excel.sheet.macroenabled.12","xlsm"},
{"application/vnd.ms-excel.template.macroEnabled.12","xltm"},
{"application/vnd.ms-excel.template.macroenabled.12","xltm"},
{"application/vnd.ms-fontobject","eot"},
{"application/vnd.ms-htmlhelp","chm"},
{"application/vnd.ms-ims","ims"},
{"application/vnd.ms-lrm","lrm"},
{"application/vnd.ms-officetheme","thmx"},
{"application/vnd.ms-pki.seccat","cat"},
{"application/vnd.ms-pki.stl","stl"},
{"application/vnd.ms-powerpoint","pot pps ppt"},
{"application/vnd.ms-powerpoint.addin.macroEnabled.12","ppam"},
{"application/vnd.ms-powerpoint.addin.macroenabled.12","ppam"},
{"application/vnd.ms-powerpoint.presentation.macroEnabled.12","pptm"},
{"application/vnd.ms-powerpoint.presentation.macroenabled.12","pptm"},
{"application/vnd.ms-powerpoint.slide.macroEnabled.12","sldm"},
{"application/vnd.ms-powerpoint.slide.macroenabled.12","sldm"},
{"application/vnd.ms-powerpoint.slideshow.macroEnabled.12","ppsm"},
{"application/vnd.ms-powerpoint.slideshow.macroenabled.12","ppsm"},
{"application/vnd.ms-powerpoint.template.macroEnabled.12","potm"},
{"application/vnd.ms-powerpoint.template.macroenabled.12","potm"},
{"application/vnd.ms-project","mpp mpt"},
{"application/vnd.ms-word.document.macroEnabled.12","docm"},
{"application/vnd.ms-word.document.macroenabled.12","docm"},
{"application/vnd.ms-word.template.macroEnabled.12","dotm"},
{"application/vnd.ms-word.template.macroenabled.12","dotm"},
{"application/vnd.ms-works","wcm wdb wks wps"},
{"application/vnd.ms-wpl","wpl"},
{"application/vnd.ms-xpsdocument","xps"},
{"application/vnd.mseq","mseq"},
{"application/vnd.musician","mus"},
{"application/vnd.muvee.style","msty"},
{"application/vnd.mynfc","taglet"},
{"application/vnd.neurolanguage.nlu","nlu"},
{"application/vnd.nitf","nitf ntf"},
{"application/vnd.noblenet-directory","nnd"},
{"application/vnd.noblenet-sealer","nns"},
{"application/vnd.noblenet-web","nnw"},
{"application/vnd.nokia.n-gage.data","ngdat"},
{"application/vnd.nokia.n-gage.symbian.install","n-gage"},
{"application/vnd.nokia.radio-preset","rpst"},
{"application/vnd.nokia.radio-presets","rpss"},
{"application/vnd.novadigm.edm","edm"},
{"application/vnd.novadigm.edx","edx"},
{"application/vnd.novadigm.ext","ext"},
{"application/vnd.oasis.opendocument.chart","odc"},
{"application/vnd.oasis.opendocument.chart-template","otc"},
{"application/vnd.oasis.opendocument.database","odb"},
{"application/vnd.oasis.opendocument.formula","odf"},
{"application/vnd.oasis.opendocument.formula-template","odft"},
{"application/vnd.oasis.opendocument.graphics","odg"},
{"application/vnd.oasis.opendocument.graphics-template","otg"},
{"application/vnd.oasis.opendocument.image","odi"},
{"application/vnd.oasis.opendocument.image-template","oti"},
{"application/vnd.oasis.opendocument.presentation","odp"},
{"application/vnd.oasis.opendocument.presentation-template","otp"},
{"application/vnd.oasis.opendocument.spreadsheet","ods"},
{"application/vnd.oasis.opendocument.spreadsheet-template","ots"},
{"application/vnd.oasis.opendocument.text","odt"},
{"application/vnd.oasis.opendocument.text-master","odm otm"},
{"application/vnd.oasis.opendocument.text-template","ott"},
{"application/vnd.oasis.opendocument.text-web","oth"},
{"application/vnd.olpc-sugar","xo"},
{"application/vnd.oma.dd2+xml","dd2"},
{"application/vnd.openofficeorg.extension","oxt"},
{"application/vnd.openxmlformats-officedocument.presentationml.presentation","pptx"},
{"application/vnd.openxmlformats-officedocument.presentationml.slide","sldx"},
{"application/vnd.openxmlformats-officedocument.presentationml.slideshow","ppsx"},
{"application/vnd.openxmlformats-officedocument.presentationml.template","potx"},
{"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlsx"},
{"application/vnd.openxmlformats-officedocument.spreadsheetml.template","xltx"},
{"application/vnd.openxmlformats-officedocument.wordprocessingml.document","docx"},
{"application/vnd.openxmlformats-officedocument.wordprocessingml.template","dotx"},
{"application/vnd.osgeo.mapguide.package","mgp"},
{"application/vnd.osgi.dp","dp"},
{"application/vnd.osgi.subsystem","esa"},
{"application/vnd.palm","oprc pdb pqa"},
{"application/vnd.pawaafile","paw"},
{"application/vnd.pg.format","str"},
{"application/vnd.pg.osasli","ei6"},
{"application/vnd.picsel","efif"},
{"application/vnd.pmi.widget","wg"},
{"application/vnd.pocketlearn","plf"},
{"application/vnd.powerbuilder6","pbd"},
{"application/vnd.previewsystems.box","box"},
{"application/vnd.proteus.magazine","mgz"},
{"application/vnd.publishare-delta-tree","qps"},
{"application/vnd.pvi.ptid1","ptid"},
{"application/vnd.quark.quarkxpress","qwd qwt qxb qxd qxl qxt"},
{"application/vnd.realvnc.bed","bed"},
{"application/vnd.recordare.musicxml","mxl"},
{"application/vnd.recordare.musicxml+xml","musicxml"},
{"application/vnd.rig.cryptonote","cryptonote"},
{"application/vnd.rim.cod","cod"},
{"application/vnd.rn-realmedia","rm"},
{"application/vnd.rn-realmedia-vbr","rmvb"},
{"application/vnd.route66.link66+xml","link66"},
{"application/vnd.sailingtracker.track","st"},
{"application/vnd.seemail","see"},
{"application/vnd.sema","sema"},
{"application/vnd.semd","semd"},
{"application/vnd.semf","semf"},
{"application/vnd.shana.informed.formdata","ifm"},
{"application/vnd.shana.informed.formtemplate","itp"},
{"application/vnd.shana.informed.interchange","iif"},
{"application/vnd.shana.informed.package","ipk"},
{"application/vnd.simtech-mindmapper","twd twds"},
{"application/vnd.smaf","mmf"},
{"application/vnd.smart.teacher","teacher"},
{"application/vnd.solent.sdkm+xml","sdkd sdkm"},
{"application/vnd.spotfire.dxp","dxp"},
{"application/vnd.spotfire.sfs","sfs"},
{"application/vnd.stardivision.calc","sdc"},
{"application/vnd.stardivision.chart","sds"},
{"application/vnd.stardivision.draw","sda"},
{"application/vnd.stardivision.impress","sdd sdp"},
{"application/vnd.stardivision.math","sdf smf"},
{"application/vnd.stardivision.writer","sdw vor"},
{"application/vnd.stardivision.writer-global","sgl"},
{"application/vnd.stepmania.package","smzip"},
{"application/vnd.stepmania.stepchart","sm"},
{"application/vnd.sun.xml.calc","sxc"},
{"application/vnd.sun.xml.calc.template","stc"},
{"application/vnd.sun.xml.draw","sxd"},
{"application/vnd.sun.xml.draw.template","std"},
{"application/vnd.sun.xml.impress","sxi"},
{"application/vnd.sun.xml.impress.template","sti"},
{"application/vnd.sun.xml.math","sxm"},
{"application/vnd.sun.xml.writer","sxw"},
{"application/vnd.sun.xml.writer.global","sxg"},
{"application/vnd.sun.xml.writer.template","stw"},
{"application/vnd.sus-calendar","sus susp"},
{"application/vnd.svd","svd"},
{"application/vnd.symbian.install","sis sisx"},
{"application/vnd.syncml+xml","xsm"},
{"application/vnd.syncml.dm+wbxml","bdm"},
{"application/vnd.syncml.dm+xml","xdm"},
{"application/vnd.tao.intent-module-archive","tao"},
{"application/vnd.tcpdump.pcap","cap dmp pcap"},
{"application/vnd.tmobile-livetv","tmo"},
{"application/vnd.trid.tpt","tpt"},
{"application/vnd.triscape.mxs","mxs"},
{"application/vnd.trueapp","tra"},
{"application/vnd.ufdl","ufd ufdl"},
{"application/vnd.uiq.theme","utz"},
{"application/vnd.umajin","umj"},
{"application/vnd.unity","unityweb"},
{"application/vnd.uoml+xml","uoml"},
{"application/vnd.vcx","vcx"},
{"application/vnd.visio","vsd vss vst vsw"},
{"application/vnd.visionary","vis"},
{"application/vnd.vsf","vsf"},
{"application/vnd.wap.wbxml","wbxml"},
{"application/vnd.wap.wmlc","wmlc"},
{"application/vnd.wap.wmlscriptc","wmlsc"},
{"application/vnd.webturbo","wtb"},
{"application/vnd.wolfram.player","nbp"},
{"application/vnd.wordperfect","wpd"},
{"application/vnd.wordperfect5.1","wp5"},
{"application/vnd.wqd","wqd"},
{"application/vnd.wt.stf","stf"},
{"application/vnd.xara","xar"},
{"application/vnd.xfdl","xfdl"},
{"application/vnd.yamaha.hv-dic","hvd"},
{"application/vnd.yamaha.hv-script","hvs"},
{"application/vnd.yamaha.hv-voice","hvp"},
{"application/vnd.yamaha.openscoreformat","osf"},
{"application/vnd.yamaha.openscoreformat.osfpvg+xml","osfpvg"},
{"application/vnd.yamaha.smaf-audio","saf"},
{"application/vnd.yamaha.smaf-phrase","spf"},
{"application/vnd.yellowriver-custom-menu","cmp"},
{"application/vnd.zul","zir zirz"},
{"application/vnd.zzazz.deck+xml","zaz"},
{"application/voicexml+xml","vxml"},
{"application/widget","wgt"},
{"application/winhlp","hlp"},
{"application/wordperfect","wpd"},
{"application/wordperfect5.1","wp5"},
{"application/wsdl+xml","wsdl"},
{"application/wspolicy+xml","wspolicy"},
{"application/x-123","wk"},
{"application/x-7z-compressed","7z"},
{"application/x-abiword","abw"},
{"application/x-ace-compressed","ace"},
{"application/x-apple-diskimage","dmg"},
{"application/x-authorware-bin","aab u32 vox x32"},
{"application/x-authorware-map","aam"},
{"application/x-authorware-seg","aas"},
{"application/x-bcpio","bcpio"},
{"application/x-bittorrent","torrent"},
{"application/x-blorb","blb blorb"},
{"application/x-bzip","bz"},
{"application/x-bzip2","boz bz2"},
{"application/x-cab","cab"},
{"application/x-cbr","cb7 cba cbr cbt cbz"},
{"application/x-cbz","cbz"},
{"application/x-cdf","cda cdf"},
{"application/x-cdlink","vcd"},
{"application/x-cfs-compressed","cfs"},
{"application/x-chat","chat"},
{"application/x-chess-pgn","pgn"},
{"application/x-comsol","mph"},
{"application/x-conference","nsc"},
{"application/x-cpio","cpio"},
{"application/x-csh","csh"},
{"application/x-debian-package","deb udeb"},
{"application/x-dgc-compressed","dgc"},
{"application/x-director","cct cst cxt dcr dir dxr fgd swa w3d"},
{"application/x-dms","dms"},
{"application/x-doom","wad"},
{"application/x-dtbncx+xml","ncx"},
{"application/x-dtbook+xml","dtb"},
{"application/x-dtbresource+xml","res"},
{"application/x-dvi","dvi"},
{"application/x-envoy","evy"},
{"application/x-eva","eva"},
{"application/x-flac","flac"},
{"application/x-font","gsf pcf pcf.Z pfa pfb"},
{"application/x-font-bdf","bdf"},
{"application/x-font-ghostscript","gsf"},
{"application/x-font-linux-psf","psf"},
{"application/x-font-otf","otf"},
{"application/x-font-pcf","pcf"},
{"application/x-font-snf","snf"},
{"application/x-font-ttf","ttc ttf"},
{"application/x-font-type1","afm pfa pfb pfm"},
{"application/x-font-woff","woff"},
{"application/x-freearc","arc"},
{"application/x-freemind","mm"},
{"application/x-futuresplash","spl"},
{"application/x-ganttproject","gan"},
{"application/x-gca-compressed","gca"},
{"application/x-glulx","ulx"},
{"application/x-gnumeric","gnumeric"},
{"application/x-go-sgf","sgf"},
{"application/x-gramps-xml","gramps"},
{"application/x-graphing-calculator","gcf"},
{"application/x-gtar","gtar taz tgz"},
{"application/x-gtar-compressed","taz tgz"},
{"application/x-hdf","hdf"},
{"application/x-hwp","hwp"},
{"application/x-ica","ica"},
{"application/x-info","info"},
{"application/x-install-instructions","install"},
{"application/x-internet-signup","ins isp"},
{"application/x-iphone","iii"},
{"application/x-iso9660-image","iso"},
{"application/x-jam","jam"},
{"application/x-java-jnlp-file","jnlp"},
{"application/x-javascript","js"},
{"application/x-jmol","jmz"},
{"application/x-kchart","chrt"},
{"application/x-killustrator","kil"},
{"application/x-koan","skd skm skp skt"},
{"application/x-kpresenter","kpr kpt"},
{"application/x-kspread","ksp"},
{"application/x-kword","kwd kwt"},
{"application/x-latex","latex"},
{"application/x-lha","lha"},
{"application/x-lyx","lyx"},
{"application/x-lzh","lzh"},
{"application/x-lzh-compressed","lha lzh"},
{"application/x-lzx","lzx"},
{"application/x-maker","book fb fbdoc fm frame frm maker"},
{"application/x-md5","md5"},
{"application/x-mie","mie"},
{"application/x-mif","mif"},
{"application/x-mobipocket-ebook","mobi prc"},
{"application/x-mpegURL","m3u8"},
{"application/x-ms-application","application"},
{"application/x-ms-shortcut","lnk"},
{"application/x-ms-wmd","wmd"},
{"application/x-ms-wmz","wmz"},
{"application/x-ms-xbap","xbap"},
{"application/x-msaccess","mdb"},
{"application/x-msbinder","obd"},
{"application/x-mscardfile","crd"},
{"application/x-msclip","clp"},
{"application/x-msdos-program","bat com dll exe"},
{"application/x-msdownload","bat com dll exe msi"},
{"application/x-msi","msi"},
{"application/x-msmediaview","m13 m14 mvb"},
{"application/x-msmetafile","emf emz wmf wmz"},
{"application/x-msmoney","mny"},
{"application/x-mspublisher","pub"},
{"application/x-msschedule","scd"},
{"application/x-msterminal","trm"},
{"application/x-mswrite","wri"},
{"application/x-netcdf","cdf nc"},
{"application/x-ns-proxy-autoconfig","dat pac"},
{"application/x-nwc","nwc"},
{"application/x-nzb","nzb"},
{"application/x-object","o"},
{"application/x-oz-application","oza"},
{"application/x-pkcs12","p12 pfx"},
{"application/x-pkcs7-certificates","p7b spc"},
{"application/x-pkcs7-certreqresp","p7r"},
{"application/x-pkcs7-crl","crl"},
{"application/x-python-code","pyc pyo"},
{"application/x-qgis","qgs shp shx"},
{"application/x-quicktimeplayer","qtl"},
{"application/x-rar-compressed","rar"},
{"application/x-rdp","rdp"},
{"application/x-redhat-package-manager","rpm"},
{"application/x-research-info-systems","ris"},
{"application/x-rss+xml","rss"},
{"application/x-ruby","rb"},
{"application/x-scilab","sce sci"},
{"application/x-scilab-xcos","xcos"},
{"application/x-sh","sh"},
{"application/x-sha1","sha1"},
{"application/x-shar","shar"},
{"application/x-shockwave-flash","swf swfl"},
{"application/x-silverlight","scr"},
{"application/x-silverlight-app","xap"},
{"application/x-sql","sql"},
{"application/x-stuffit","sit sitx"},
{"application/x-stuffitx","sitx"},
{"application/x-subrip","srt"},
{"application/x-sv4cpio","sv4cpio"},
{"application/x-sv4crc","sv4crc"},
{"application/x-t3vm-image","t3"},
{"application/x-tads","gam"},
{"application/x-tar","tar"},
{"application/x-tcl","tcl"},
{"application/x-tex","tex"},
{"application/x-tex-gf","gf"},
{"application/x-tex-pk","pk"},
{"application/x-tex-tfm","tfm"},
{"application/x-texinfo","texi texinfo"},
{"application/x-tgif","obj"},
{"application/x-trash","% bak old sik ~"},
{"application/x-troff","roff t tr"},
{"application/x-troff-man","man"},
{"application/x-troff-me","me"},
{"application/x-troff-ms","ms"},
{"application/x-ustar","ustar"},
{"application/x-wais-source","src"},
{"application/x-wingz","wz"},
{"application/x-x509-ca-cert","crt der"},
{"application/x-xcf","xcf"},
{"application/x-xfig","fig"},
{"application/x-xliff+xml","xlf"},
{"application/x-xpinstall","xpi"},
{"application/x-xz","xz"},
{"application/x-zmachine","z1 z2 z3 z4 z5 z6 z7 z8"},
{"application/xaml+xml","xaml"},
{"application/xcap-diff+xml","xdf"},
{"application/xenc+xml","xenc"},
{"application/xhtml+xml","xht xhtml"},
{"application/xml","xml xsd xsl"},
{"application/xml-dtd","dtd"},
{"application/xop+xml","xop"},
{"application/xproc+xml","xpl"},
{"application/xslt+xml","xslt"},
{"application/xspf+xml","xspf"},
{"application/xv+xml","mxml xhvml xvm xvml"},
{"application/yang","yang"},
{"application/yin+xml","yin"},
{"application/zip","zip"},
{"audio/adpcm","adp"},
{"audio/amr","amr"},
{"audio/amr-wb","awb"},
{"audio/annodex","axa"},
{"audio/basic","au snd"},
{"audio/csound","csd orc sco"},
{"audio/flac","flac"},
{"audio/midi","kar mid midi rmi"},
{"audio/mp4","mp4a"},
{"audio/mpeg","m2a m3a m4a mp2 mp2a mp3 mpega mpga"},
{"audio/mpegurl","m3u"},
{"audio/ogg","oga ogg opus spx"},
{"audio/prs.sid","sid"},
{"audio/s3m","s3m"},
{"audio/silk","sil"},
{"audio/vnd.dece.audio","uva uvva"},
{"audio/vnd.digital-winds","eol"},
{"audio/vnd.dra","dra"},
{"audio/vnd.dts","dts"},
{"audio/vnd.dts.hd","dtshd"},
{"audio/vnd.lucent.voice","lvp"},
{"audio/vnd.ms-playready.media.pya","pya"},
{"audio/vnd.nuera.ecelp4800","ecelp4800"},
{"audio/vnd.nuera.ecelp7470","ecelp7470"},
{"audio/vnd.nuera.ecelp9600","ecelp9600"},
{"audio/vnd.rip","rip"},
{"audio/webm","weba"},
{"audio/x-aac","aac"},
{"audio/x-aiff","aif aifc aiff"},
{"audio/x-caf","caf"},
{"audio/x-flac","flac"},
{"audio/x-gsm","gsm"},
{"audio/x-matroska","mka"},
{"audio/x-mpegurl","m3u"},
{"audio/x-ms-wax","wax"},
{"audio/x-ms-wma","wma"},
{"audio/x-pn-realaudio","ra ram rm"},
{"audio/x-pn-realaudio-plugin","rmp"},
{"audio/x-realaudio","ra"},
{"audio/x-scpls","pls"},
{"audio/x-sd2","sd2"},
{"audio/x-wav","wav"},
{"audio/xm","xm"},
{"chemical/x-alchemy","alc"},
{"chemical/x-cache","cac cache"},
{"chemical/x-cache-csf","csf"},
{"chemical/x-cactvs-binary","cascii cbin ctab"},
{"chemical/x-cdx","cdx"},
{"chemical/x-cerius","cer"},
{"chemical/x-chem3d","c3d"},
{"chemical/x-chemdraw","chm"},
{"chemical/x-cif","cif"},
{"chemical/x-cmdf","cmdf"},
{"chemical/x-cml","cml"},
{"chemical/x-compass","cpa"},
{"chemical/x-crossfire","bsd"},
{"chemical/x-csml","csm csml"},
{"chemical/x-ctx","ctx"},
{"chemical/x-cxf","cef cxf"},
{"chemical/x-embl-dl-nucleotide","emb embl"},
{"chemical/x-galactic-spc","spc"},
{"chemical/x-gamess-input","gam gamin inp"},
{"chemical/x-gaussian-checkpoint","fch fchk"},
{"chemical/x-gaussian-cube","cub"},
{"chemical/x-gaussian-input","gau gjc gjf"},
{"chemical/x-gaussian-log","gal"},
{"chemical/x-gcg8-sequence","gcg"},
{"chemical/x-genbank","gen"},
{"chemical/x-hin","hin"},
{"chemical/x-isostar","ist istr"},
{"chemical/x-jcamp-dx","dx jdx"},
{"chemical/x-kinemage","kin"},
{"chemical/x-macmolecule","mcm"},
{"chemical/x-macromodel-input","mmd mmod"},
{"chemical/x-mdl-molfile","mol"},
{"chemical/x-mdl-rdfile","rd"},
{"chemical/x-mdl-rxnfile","rxn"},
{"chemical/x-mdl-sdfile","sd sdf"},
{"chemical/x-mdl-tgf","tgf"},
{"chemical/x-mmcif","mcif"},
{"chemical/x-mol2","mol2"},
{"chemical/x-molconn-Z","b"},
{"chemical/x-mopac-graph","gpt"},
{"chemical/x-mopac-input","dat mop mopcrt mpc zmt"},
{"chemical/x-mopac-out","moo"},
{"chemical/x-mopac-vib","mvb"},
{"chemical/x-ncbi-asn1","asn"},
{"chemical/x-ncbi-asn1-ascii","ent prt"},
{"chemical/x-ncbi-asn1-binary","aso val"},
{"chemical/x-ncbi-asn1-spec","asn"},
{"chemical/x-pdb","ent pdb"},
{"chemical/x-rosdal","ros"},
{"chemical/x-swissprot","sw"},
{"chemical/x-vamas-iso14976","vms"},
{"chemical/x-vmd","vmd"},
{"chemical/x-xtel","xtel"},
{"chemical/x-xyz","xyz"},
{"image/bmp","bmp"},
{"image/cgm","cgm"},
{"image/g3fax","g3"},
{"image/gif","gif"},
{"image/ief","ief"},
{"image/jpeg","jpe jpeg jpg"},
{"image/ktx","ktx"},
{"image/pcx","pcx"},
{"image/png","png"},
{"image/prs.btif","btif"},
{"image/sgi","sgi"},
{"image/svg+xml","svg svgz"},
{"image/tiff","tif tiff"},
{"image/vnd.adobe.photoshop","psd"},
{"image/vnd.dece.graphic","uvg uvi uvvg uvvi"},
{"image/vnd.djvu","djv djvu"},
{"image/vnd.dvb.subtitle","sub"},
{"image/vnd.dwg","dwg"},
{"image/vnd.dxf","dxf"},
{"image/vnd.fastbidsheet","fbs"},
{"image/vnd.fpx","fpx"},
{"image/vnd.fst","fst"},
{"image/vnd.fujixerox.edmics-mmr","mmr"},
{"image/vnd.fujixerox.edmics-rlc","rlc"},
{"image/vnd.microsoft.icon","ico"},
{"image/vnd.ms-modi","mdi"},
{"image/vnd.ms-photo","wdp"},
{"image/vnd.net-fpx","npx"},
{"image/vnd.wap.wbmp","wbmp"},
{"image/vnd.xiff","xif"},
{"image/webp","webp"},
{"image/x-3ds","3ds"},
{"image/x-canon-cr2","cr2"},
{"image/x-canon-crw","crw"},
{"image/x-cmu-raster","ras"},
{"image/x-cmx","cmx"},
{"image/x-coreldraw","cdr"},
{"image/x-coreldrawpattern","pat"},
{"image/x-coreldrawtemplate","cdt"},
{"image/x-corelphotopaint","cpt"},
{"image/x-epson-erf","erf"},
{"image/x-freehand","fh fh4 fh5 fh7 fhc"},
{"image/x-icon","ico"},
{"image/x-jg","art"},
{"image/x-jng","jng"},
{"image/x-mrsid-image","sid"},
{"image/x-ms-bmp","bmp"},
{"image/x-nikon-nef","nef"},
{"image/x-olympus-orf","orf"},
{"image/x-pcx","pcx"},
{"image/x-photoshop","psd"},
{"image/x-pict","pct pic"},
{"image/x-portable-anymap","pnm"},
{"image/x-portable-bitmap","pbm"},
{"image/x-portable-graymap","pgm"},
{"image/x-portable-pixmap","ppm"},
{"image/x-rgb","rgb"},
{"image/x-tga","tga"},
{"image/x-xbitmap","xbm"},
{"image/x-xpixmap","xpm"},
{"image/x-xwindowdump","xwd"},
{"message/rfc822","eml mime"},
{"model/iges","iges igs"},
{"model/mesh","mesh msh silo"},
{"model/vnd.collada+xml","dae"},
{"model/vnd.dwf","dwf"},
{"model/vnd.gdl","gdl"},
{"model/vnd.gtw","gtw"},
{"model/vnd.mts","mts"},
{"model/vnd.vtu","vtu"},
{"model/vrml","vrml wrl"},
{"model/x3d+binary","x3db x3dbz"},
{"model/x3d+vrml","x3dv x3dvz"},
{"model/x3d+xml","x3d x3dz"},
{"text/cache-manifest","appcache"},
{"text/calendar","ics icz ifb"},
{"text/comma-separated-values","csv"},
{"text/css","css"},
{"text/csv","csv"},
{"text/h323","323"},
{"text/html","htm html shtml"},
{"text/iuls","uls"},
{"text/mathml","mml"},
{"text/n3","n3"},
{"text/plain","asc brf conf def diff in list log pot srt text txt"},
{"text/prs.lines.tag","dsc"},
{"text/richtext","rtx"},
{"text/rtf","rtf"},
{"text/scriptlet","sct wsc"},
{"text/sgml","sgm sgml"},
{"text/tab-separated-values","tsv"},
{"text/texmacs","tm ts"},
{"text/troff","man me ms roff t tr"},
{"text/turtle","ttl"},
{"text/uri-list","uri uris urls"},
{"text/vcard","vcard"},
{"text/vnd.curl","curl"},
{"text/vnd.curl.dcurl","dcurl"},
{"text/vnd.curl.mcurl","mcurl"},
{"text/vnd.curl.scurl","scurl"},
{"text/vnd.dvb.subtitle","sub"},
{"text/vnd.fly","fly"},
{"text/vnd.fmi.flexstor","flx"},
{"text/vnd.graphviz","gv"},
{"text/vnd.in3d.3dml","3dml"},
{"text/vnd.in3d.spot","spot"},
{"text/vnd.sun.j2me.app-descriptor","jad"},
{"text/vnd.wap.wml","wml"},
{"text/vnd.wap.wmlscript","wmls"},
{"text/x-asm","asm s"},
{"text/x-bibtex","bib"},
{"text/x-boo","boo"},
{"text/x-c","c cc cpp cxx dic h hh"},
{"text/x-c++hdr","h++ hh hpp hxx"},
{"text/x-c++src","c++ cc cpp cxx"},
{"text/x-chdr","h"},
{"text/x-component","htc"},
{"text/x-csh","csh"},
{"text/x-csrc","c"},
{"text/x-diff","diff patch"},
{"text/x-dsrc","d"},
{"text/x-fortran","f f77 f90 for"},
{"text/x-haskell","hs"},
{"text/x-java","java"},
{"text/x-java-source","java"},
{"text/x-lilypond","ly"},
{"text/x-literate-haskell","lhs"},
{"text/x-moc","moc"},
{"text/x-nfo","nfo"},
{"text/x-opml","opml"},
{"text/x-pascal","p pas"},
{"text/x-pcs-gcd","gcd"},
{"text/x-perl","pl pm"},
{"text/x-psp","psp"},
{"text/x-python","py"},
{"text/x-scala","scala"},
{"text/x-setext","etx"},
{"text/x-sfv","sfv"},
{"text/x-sh","sh"},
{"text/x-tcl","tcl tk"},
{"text/x-tex","cls ltx sty tex"},
{"text/x-uuencode","uu"},
{"text/x-vcalendar","vcs"},
{"text/x-vcard","vcf"},
{"video/3gpp","3gp"},
{"video/3gpp2","3g2"},
{"video/MP2T","ts"},
{"video/annodex","axv"},
{"video/dl","dl"},
{"video/dv","dif dv"},
{"video/fli","fli"},
{"video/gl","gl"},
{"video/h261","h261"},
{"video/h263","h263"},
{"video/h264","h264"},
{"video/jpeg","jpgv"},
{"video/jpm","jpgm jpm"},
{"video/mj2","mj2 mjp2"},
{"video/mp4","mp4 mp4v mpg4"},
{"video/mpeg","m1v m2v mpe mpeg mpg"},
{"video/ogg","ogv"},
{"video/quicktime","mov qt"},
{"video/vnd.dece.hd","uvh uvvh"},
{"video/vnd.dece.mobile","uvm uvvm"},
{"video/vnd.dece.pd","uvp uvvp"},
{"video/vnd.dece.sd","uvs uvvs"},
{"video/vnd.dece.video","uvv uvvv"},
{"video/vnd.dvb.file","dvb"},
{"video/vnd.fvt","fvt"},
{"video/vnd.mpegurl","m4u mxu"},
{"video/vnd.ms-playready.media.pyv","pyv"},
{"video/vnd.uvvu.mp4","uvu uvvu"},
{"video/vnd.vivo","viv"},
{"video/webm","webm"},
{"video/x-f4v","f4v"},
{"video/x-fli","fli"},
{"video/x-flv","flv"},
{"video/x-la-asf","lsf lsx"},
{"video/x-m4v","m4v"},
{"video/x-matroska","mk3d mks mkv mpv"},
{"video/x-mng","mng"},
{"video/x-ms-asf","asf asx"},
{"video/x-ms-vob","vob"},
{"video/x-ms-wm","wm"},
{"video/x-ms-wmv","wmv"},
{"video/x-ms-wmx","wmx"},
{"video/x-ms-wvx","wvx"},
{"video/x-msvideo","avi"},
{"video/x-sgi-movie","movie"},
{"video/x-smv","smv"},
{"x-conference/x-cooltalk","ice"},
{"x-epoc/x-sisx-app","sisx"},
{"x-world/x-vrml","vrm vrml wrl"},
{NULL, NULL}
};

const char*
aw_mime_get_type (const char *suffix)
{
	const AW_MimeInfo *mi = mime_info;

	for (; mi->type; mi++) {
		char *list = mi->suffix;
		char *ptr;
		int len;
		int loop = 1;

		while (loop) {
			char buf[64];

			ptr = strchr(list, ' ');
			if (ptr) {
				len = ptr - list;
			} else {
				len = strlen(list);
				loop = 0;
			}

			strncpy(buf, list, len);
			buf[len] = 0;
			if (!strcasecmp(suffix, buf))
				return mi->type;

			if (ptr)
				list = ptr + 1;
		}
	}

	return NULL;
}

